const mixin = {
	data() {
		return {
			dowloadHost: uni.getStorageSync('baseUrl'), //下载域名
		}
	},
	mounted() {},
	onLoad(e) {

	},
	methods: {
		// 文件下载
		dowloadFile(fileId) {
			let url = this.dowloadHost + '/api/web/file/record/' + fileId + '?YX-Tenant-Token=' + uni
				.getStorageSync('userToken')
			// #ifdef H5
			window.open(url, '_self')
			// #endif
			// #ifndef H5
			uni.showLoading({
				title: '正在打开..',
				mask: false
			});
			uni.downloadFile({
				url,
				success: (res) => {
					uni.hideLoading()
					if (res.statusCode === 200) {
						// 判断文件类型
						let type = uni.$lizhao.file.type(res.tempFilePath)
						if (type.type == 'image') {
							uni.saveImageToPhotosAlbum({
								filePath: res.tempFilePath,
								success: function() {
									uni.showToast({
										title: '保存相册成功'
									});
								}
							});
						} else if (type.type == 'video'||type.type=='audio') {
							uni.saveVideoToPhotosAlbum({
								filePath: res.tempFilePath,
								success: function() {
									uni.showToast({
										title: '保存相册成功'
									});
								}
							});
						}else{
							// 目前小程序没有直接提供API将缓存文件导出到手机相册或文件管理器。
							// 用户如果需要将文件保存到手机上，通常需要先在小程序内预览，然后在预览界面上选择保存到相册或使用手机的分享功能保存到文件管理器。
							this.previewFile(fileId) 
						}
					}
				},
				fail: (err) => {
					console.log('err', err)
					uni.showToast({
						title: err.errMsg,
						icon: 'none'
					});
				}
			});
			// #endif
		},
		// 预览文件
		previewFile(fileId) {
			let url = this.dowloadHost + '/api/web/file/record/' + fileId + '?YX-Tenant-Token=' + uni
				.getStorageSync('userToken')
			// #ifdef H5
			window.open(url, '_self')
			// #endif
			// #ifndef H5
			uni.showLoading({
				title: '正在打开..',
				mask: false
			});
			uni.downloadFile({
				url,
				success: (res) => {
					uni.hideLoading()
					var filePath = res.tempFilePath;
					let type = uni.$lizhao.file.type(filePath)
					if (type.type == 'image') {
						uni.previewImage({
							urls:[filePath],
						});
					} else if (type.type == 'video') {
						uni.openVideoEditor({
							filePath: filePath
						});
					}else{
						uni.openDocument({
							filePath: filePath,
							showMenu: true,
							success: function(res) {
								uni.showToast({
									title: '打开文档成功'
								});
							}
						});
					}
					
					
				},
				fail:(err)=> {
					uni.hideLoading()
					uni.showToast({
						title: err.errMsg,
						icon: 'none'
					});
				}
			});
			// #endif
		}
	}
}

export default mixin